home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Applications / MacPerl 5.1.3 / Mac_Perl_513_src / MacPerl5 / SetPerlVersion < prev    next >
Encoding:
Text File  |  1996-10-19  |  1.0 KB  |  46 lines  |  [TEXT/MPS ]

  1. Perl -i -Sx "{0}" "{1}" "{2}" ::perl5.002:Perl.r MacPerl.r
  2. Exit
  3.  
  4. #!perl
  5.  
  6. $Version = shift @ARGV;
  7. $Date        = shift @ARGV;
  8.  
  9. die "Usage: SetPerlVersion version date" unless $Version && $Date;
  10.  
  11. %stage = ("b", "beta", "d", "development", "a", "alpha", "r", "release");
  12.  
  13. if ($Version =~ /(\d+)\.(\d+)\.(\d+)(\w)(\d+)/) {
  14.     ($v,$r,$s,$stage,$n) = ($1, $2, $3, $stage{$4}, $5);
  15. } elsif ($Version =~ /(\d+)\.(\d+)\.(\d+)/) {
  16.     ($v,$r,$s,$n) = ($1, $2, $3, 0);
  17. } else {
  18.     die "Usage: $0 <Version> <Date>.";
  19. }
  20.  
  21. while (<>) {
  22.     if (/\'vers\'.*(\d)/) {
  23.         $vers = $1;
  24.     } elsif (/VersionString/) {
  25.         $vstring = 1;
  26.     } elsif ($vstring) {
  27.         s/\".*\"/\"$Version\"/;
  28.         if ($vers == 2) {
  29.             $dstring = 1;
  30.         }
  31.         undef $vers;
  32.         undef $vstring;
  33.     } elsif ($dstring) {
  34.         s/Perl.*\(.*\)/Perl $Version ($Date)/;
  35.         undef $dstring;
  36.     } elsif ($vers) {
  37.         if ($n) {
  38.             $_ = sprintf("\t0x%02d, 0x%01d%01d, $stage, 0x%02d, verUS,\n", $v, $r, $s, $n);
  39.         } else {
  40.             $_ = sprintf("\t0x%02d, 0x%01d%01d, release, 0x00, verUS,\n", $v, $r, $s);
  41.         }
  42.         $vstring = 1;
  43.     }
  44.     print;
  45. }
  46.